#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int Split(int t, int* arr)
{
	int cnt = 0;
	for (int i = 2; i * i <= t; i++)
	{
		if(t % i == 0)
		{
			arr[++cnt] = 0;
		}
		while (t % i == 0)
		{
			arr[cnt]++;
			t /= i;
		}
		

	}
	if (t != 1)
		arr[++cnt] = 1;
	return cnt;
}
int main()
{
	int arr[100];
	int x, y, n;
	scanf("%d %d %d",&x,&y,&n);
	int size = Split(y / x, arr);
	long long int e = 1; long long int a, b, c, d, B, C, D;
	for (int k=1;k<=size;k++)
	{
		a = arr[k]; b = a + 1; c = a - 1; d = a; B = b; C = c; D = d;
		for (int i = 1; i < n; i++)
		{
			b = b * B;
			c = c * C;
			d = d * D;
		}
		e = (b + c - 2 * d)*e ; 	

	}
printf("%lld", e%998244353);
}
